-
-
Notifications
You must be signed in to change notification settings - Fork 57
fix: handle add and unlink file in bundleless mode #642
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
fb8be63 to
3c6d306
Compare
✅ Deploy Preview for rslib ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 5 out of 9 changed files in this pull request and generated no comments.
Files not reviewed (4)
- packages/core/tests/snapshots/config.test.ts.snap: Language not supported
- tests/integration/directive/index.test.ts: Evaluated as low risk
- tests/integration/cli/build-watch/src/index.ts: Evaluated as low risk
- tests/integration/directive/react/bundleless/rslib.config.ts: Evaluated as low risk
Comments suppressed due to low confidence (4)
tests/scripts/helper.ts:110
- The error message should be 'awaitFileChanges failed: ${file}' to reflect the actual function name.
throw new Error(`awaitFileExists failed: ${file}`);
packages/core/src/config.ts:921
- [nitpick] The function name globScanEntries could be more descriptive. Consider renaming it to scanGlobEntries.
const globScanEntries = async (calcLcp: boolean) => {
packages/core/src/config.ts:990
- [nitpick] The variable name lcp is ambiguous. It should be renamed to longestCommonPath.
const lcp = await calcLongestCommonPath(Object.values(resolvedEntries));
packages/core/src/config.ts:110
- The error message awaitFileExists failed is unclear. It should be updated to File existence check failed for: ${file}.
throw new Error(`awaitFileExists failed: ${file}`);
Summary
Previously, the
entryin bundleless mode is set during the initial build and does not change during therslib build --watchphase. For example, a newly added file will not be monitored, while a file that was included initially will trigger an error (entry module not found) if it is deleted later.In this PR, we use two combined functionality to resolve the issue:
compilation.contextDependencies: an extra directory to watch and trigger watch build (e.g. used in https://github.com/soda-x/extra-watch-webpack-plugin)Limitation:
compilation.contextDependencieswill be resolved at the very beginning by LCP path, it won't be changed anymore.Related Links
Checklist